package ermao.queue;

/**
 * 类功能描述：队列
 * Java泛型中的标记符含义：
 * E - Element （元素,在集合中使用）
 * T - Type （Java类）
 * K - Key （键）
 * V - Value （值）
 * N - Number（数值类型）
 * ? - 表示不确定的Java类型
 *
 * @author weisl
 * @version 1.0.0
 * @date 2024-02-01 10:10:16
 */
public interface Queue<E> {

    /**
     * 功能描述：入队队列
     *
     * @return boolean
     * @params e
     * @author weisl
     * @date 2024-02-01 10:10:16
     */
    boolean add(E e);

    /**
     * 功能描述：
     * 入队队列
     *
     * @return boolean
     * @params e
     * @author weisl
     * @date 2024-02-01 10:10:16
     */
    boolean offer(E e);


    /**
     * 功能描述：出队
     *
     * @return e
     * @params
     * @author weisl
     * @date 2024-02-01 10:10:17
     */
    E poll();

    /**
     * 功能描述：出队
     *
     * @return e
     * @params
     * @author weisl
     * @date 2024-02-01 10:10:17
     */
    E peek();
}
